1. Field of the Invention
The invention is related to the field of disk drive systems, and in particular to a system and method of improved data detection using erasure pointers.
2. Statement of the Problem
Disk drive systems store data on magnetic storage media such as a magnetic disk. The magnetic disk contains a series of circular tracks that span the surface of the disk. User data and servo data are encoded and written on the tracks of the disk, and are represented by magnetic transitions on the disk. The disk drive system uses the servo data to locate the user data.
Typical disk drive systems are comprised of a disk device, write channel circuitry, and read channel circuitry. The write channel receives data, generates a write signal from the data, and transfers the write signal to the disk device. The disk device stores the data on storage media. Subsequently, the disk device reads data from the storage media, generates a read signal, and transfers the read signal to the read channel. The read channel processes the read signal to reproduce the data.
In magnetic disk devices, events such as thermal asperities can dramatically degrade error rate performance of the disk drive system. Thermal asperities are defects on a disk that causes a read head to heat or cool. The temperature change in the read head causes the read head to generate a signal with corrupted data. A thermal asperity detector detects the thermal asperities and identifies any corrupted data caused by the thermal asperities. The thermal asperity detector identifies the corrupted data with erasure pointers. Erasure pointers are control signals that identify corrupted data.
To reproduce the data from the read signal, the read channel includes a sampler, filter, and interpolator that function together to sample and process the read signal to generate interpolated samples. A detector in the read channel uses a detection algorithm, such as a Viterbi state machine, to convert the interpolated samples into an encoded signal that represents the data. The data is represented in the encoded signal by symbols. A Reed Solomon decoder in the read channel receives the encoded signal and the erasure pointers. The Reed Solomon decoder erases symbols in the encoded signal that the erasure pointers point to. The Reed Solomon decoder estimates what the erased symbols should be based on properties of the Reed Solomon encoding technique and replaces the erased symbols with the estimates. The Reed Solomon decoder then decodes the encoded signal by applying a decoding algorithm, such as a Soft Output Reed Solomon (SORS) algorithm, and code constraints to generate a data signal. Code constraints are rules for decoding data that are created by the encoding technique used to encode the data. For instance, a D=1 constraint means that an encoder has to insert a 0 between consecutive 1""s. Unfortunately, using erasure pointers to identify corrupted data is only used in a Reed Solomon decoder.
Some disk drive systems use decoders that implement other iterative decoding algorithms, such as Low Density Parity Check (LDPC) or Turbo Codes, but do not receive erasure pointers. Error rate performance of the disk drive system can be dramatically degraded by thermal asperities when using the iterative decoding algorithms without erasure pointers. When a decoder receives corrupted data, the decoder generates estimated values based on the corrupted data. Thus, the estimated values progressively get worse for both the corrupted data and the n on-corrupted data. Unfortunately, the corrupted data causes the decoder to generate poor estimated values and increases the error rate of the disk drive system.
Currently, there are algorithms that process input values that represent bits to generate log likelihood values. The log likelihood values, generated for each input value, are estimates of the probability that the input value represents a 1 versus a 0. In other words, the log likelihood values can be represented by:
Log likelihood values=log{(Probability bit=1)/(Probability bit=0)}.
The log likelihood values are generated by algorithms such as Soft Output Viterbi Algorithm (SOVA), BCJR, and other algorithms. Unfortunately, log likelihood values have not been implemented in disk drive systems to improve data detection.
The invention helps to solve the above problems in one example with control circuitry that uses log likelihood values and erasure pointers to decode data from a read signal. The erasure pointers point to corrupted data. The control circuitry changes the log likelihood values that represent the corrupted data. The control circuitry then iteratively generates estimated log likelihood values that represent both the corrupted and non-corrupted data. Thus, the control circuitry generates better estimates of the corrupted data and the non-corrupted data and advantageously improves the error rate performance of a disk drive system. The control circuitry also helps reduce the occurrence of error propagation caused by iterative decoding.
The control circuitry is comprised of a log likelihood modification system and a decoder. The log likelihood modification system is configured to receive log likelihood values that represent data. The log likelihood modification system is also configured to receive erasure pointers. The erasure pointers point to at least one of the log likelihood values. The log likelihood modification system is configured to set the log likelihood values, that the erasure pointers point to, to an error value to generate modified log likelihood values. In some examples, the error value is zero. The log likelihood modification system is configured to transfer the modified log likelihood values to the decoder. The decoder is configured to process the modified log likelihood values based on code constraints to generate estimated log likelihood values. The decoder is also configured to decode the data from the estimated log likelihood values.
In another example of the invention, the decoder comprises a buffer, an update system, and a decision system. The buffer receives and buffers the modified log likelihood values. The update system processes the blocks of the modified log likelihood values using an iterative decoding algorithm. The iterative decoding algorithm adjusts the modified log likelihood values based on extrinsic information provided by the code constraints to generate estimated log likelihood values. The update system transfers the estimated log likelihood values to the decision system. The decision system processes the estimated log likelihood values to generate the data.